Zip Compress OCX history

What is new in the Zip Compress 3.0.3 OCX

1 - The VB6 version of the new control is a windowless control , then it will use less resource at runtime

1.1 - Added the help file as part of the OCX , and 3 functions to manage the help file was added also ( Help , SearchHelp and DeleteHelpFile  )

2 - Added the ability to pause and resume the execution of the compression or decompression ( the code used was developed during the development of the new BinaryWork CPU Controller 1.5.0 )

3 - Added the possibility to use list files to select the files to compress , this is an explanation about how to create and use list files : 

Create a text file with some entries like this

c:\windows\*.ini
d:\backup.*.txt
\\Myserver\MypaTH\*.bmp

You need to define one selection per line , every line represent a selection , and you can enter as many lines as you want , the result Zip file will have all the selecteds entries

Save it as text and use the following sintaxe to use it with the ZipCompress function:

PathOfTheFilesToCompress - Path where is located the list file
FilesToCompress - Name of the list file , and you need to add a ? in front of it , like this '?mylist.lst' 

DestinationDir - Destination directory to the compressed file
Options - The options that you want to pass to the function

Dont forget to insert the ? character in front of the list file , or the function will not read the list file , if the name of your list file is MyList.lst then you need to call it as ?MyList.lst in the FilesToCompress argument

If you have problems to create and use list files , then send a email to us and we can email to you a sample project demonstrating how to use this new possibility

3 - Fixed a bug that appears only in VB6 when you try to add the control to the Visual Component Manager or in others unkown circunstances , the error shows a message box saying "Invalid procedure call or argument" , we can ensure that this is a VB6 bug , and we have developed a workaround to avoid this bug affecting our control 

4 - Minor modifications in the BEP method ( BinaryWork Easy Package ) , now it will be part of the executable and the reference to the BEP portions of the OCX will be updated in the PE header of the OCX .

5 - All variables are passed Byval , then it will not modify any global variables passed to the functions in the OCX ( this was a problem in the 3.0.0 version of this control )

6 - The sample project is using "*" to define the files to compress or decompress , it will avoid the error with files without extension when using the "*.*"  , and the "*" includes files with ou without extension .

7 - Several changes was introduced in the GetZipInfo function , now it is 5 times faster than the version 3.0.0

8 - Minor bugs fixes in the rest of the OCX

9 - Renamed of the method AboutBox to About 




Zip Compress OCX 3.0.0

Beta - 4

1 - Fixed several bugs referred to UNC paths

2 - Fixed bug in the creation of long filenames , long directory names or filenames with spaces using UNC paths in the decompression

3 - Fixed bug when compressing or decompressing files to the root of the UNC path

4 - Fixed a bug in the 'AutoUninstall' option 

5 - Fixed a bug referred to the destination path in the compression or decompression

Beta - 3

1 - Added UNC support ( a UNC path looks like this
'\\Myserver1\Mypath1' , where the 'Myserver1'is the machine and the
'Mypath1' is a shared folder ), and now you can compress and
decompress files in your network , and mapped drives are support also
, in order to write to a UNC path you need full access to that drive ,
and in order to compress files from a UNC path you need at least read
access , and if the network destination path dont exist then it will
be created ( if you have the write access do to it ) 

At this moment we cannot access UNC paths if the path requires
password in order to be accessible

2 - Added the 'Status' function , with this function you can verify
the actual status of the OCX , this can be usefull in order to wait
for the end of the execution of the OCX , and during the execution of
the OCX the only function that you can call is the 'CancelOperation' ,
if you try to call any ther function that cannot be accessed during
the execution mode then a BEEP will occur , and if the
'CancelOperation' function is called then the OCX will return the
control to the application and it will close any process running in
the OCX 

3 - the Degubmode was changed in order to retrieve better the
information about what is occurring inside the OCX , and more
information can be retrieved at this moment

4 - Fixed a bug when the OCX need to create large paths like this
'c:\my first folder \ my second folder \ my third folder\' , the
version 2.1 and 2.2 cannot create a folder so large like that , fixed
in this version  

5 - several bugs was fixed also


Beta - 2

1 - Changed the distribution of the OCX to the BEP method (BEP -
BinaryWork Easy Package) , (and this version of BEP is working also in
the japanese version of Windows , this was a bug in older versions of
the BEP method )  then now the only thing that you need is the OCX and
you can forget about the mzip32.dll and munzip32.dll in your projects
.

2 - Fixed the method of the termination of the execution of the OCX ,
and now any process , thread , or   handle referred to the
applications atached to the OCX will be completely closed and any
resource or memory will be released ( this was a bug since the version
1.0 of this OCX )

3 - Added the 'CancelOperation' method , this new function will stop
the compression or decompression instantly and it will return the
control of the OCX to the user , and ofcourse , any process running
will be closed completely  ( this was requested for many registered
users )

4 - Changed the method that the OCX is executed , and now after the
ZipCompress or ZipDecompress any function will be locked and this will
be locked until the end of the execution or the intervention of the
user by 'CancelOperation' , and a method called 'Status' to verify the
status of the OCX was added also , this method will return whether the
OCX is working or not , and if the user try to call the ZipCompress or
ZipUncompress during the execution time then a Beep will occur

5 - Added a copy of the container (container is the object where the
OCX is located )  in the memory , this copy will use more memory but
it will give more power to the OCX and now the OCX can trace anything
that the user is doing in the container , and due to this possibility
the OCX can detect the destruction of the container instantly , to
verify if it is working correctly , start compressing a large folder
with the ocx and stop the project or close the form , you will see
that the control of the project will  return to the system instantly
and the execution of the compression or decompression  is stoped also
( this was a bug in 2.1 or 2.2 , if you try to destroy the container
the OCX will be running in the memory until the end of the execution ,
fixed in this version  )

5 - Changed the temporary folder of the OCX , and now the OCX willnot
create that folder 'Maqzip" in the Windows directory ( this folder is
created in the version 2.1 and 2.2 )

6 - Added a autouninstall function  to the OCX , if you set the
'AutoUninstall' method to true , then any folder or file created by
the OCX (in the version 2.1 and 2.2 this folder was the Maqzipx in the
windows directory )  in order to make it run will de deleted of the
system in the termination of the OCX , and ofcourse this will be
recreated in the next utilization of the OCX ( this was required by a
large number of registered users also ) , then the temporary files or
folders of the OCX only will be available and visible  to the user
during the execution of the OCX ( the default value of the
AutoUninstall function is false )


Beta - 1


1 - Added a debugmode , in this debugmode you can see what is occuring
inside the OCX at runtime
To enable the debugmode , insert an empty file in the same folder that
the OCX is located ( normally c:\windows\system )
The empty file to be inserted in the folder of the OCX is
Maqlnfdebug.txt
With this file in the same folder of the OCX the debugmode is
activated , then a file will be created in the same folder , the name
of the file that will be created is Maqlnfdebug.log , and this file
will be created by the OCX in debugmode , and two messageboxes will
appear in the beginning of the utilization of the ocx and in the
termination of the OCX also

Watch the Maqlnfdebug.log file during the runtime to see what is
occuring in the OCX , and send this Maqlnfdebug.log to the developer
in case of some errors occur

With the Maqlnfdebug.log file the developer can see what is the
problem in your project , and can solve the problem quickly 

This Maqlnfdebug.log file is limited to 65000 characters , and if the
size past 65000 then the file will be recreated from the beginning

To stop the debugmode , you only need to delete the Maqlnfdebug.txt
file , then the messagebox will disapper and the OCX will not report
anything in the Maqlnfdebug.log file , and the Maqlnfdebug.log file
can be deleted also

The debugmode will work in designmode and runtime , and you dont need
to change anything inside your project to enable or disable the
debugmode , and if your users report problems referred to the OCX ,
then you can intruct your users to enable the degubmode in their
machines and send to you the Maqlnfdebug.log file to be possible to
fix the problem

As you can see , with this new debugmode will be very dificult to
appear problems that cannot be solved , indeed a lot of problems was
already fixed after this debugmode was inserted in the OCX

2 - Added the 'Zip Information OCX' inside the OCX , and now you can
list files in a given Zip file very easy , and you can develop a
Winzip clone in a few minutes , and due to the possibility to list the
files inside the Zip file , you can also select what file inside the
Zip file you want to extract , this was required by a lot of
registered users

3  - Ability to select how much processor usage the OCX will take at
runtime , this option was stolen from our application  'BinaryWork CPU
Controller' , and with this new possibility you can create and extract
Zip files faster than ever , or you can make a Zip compressor to run
in backgroung , using only the idle time of the processor to compress
or uncompress Zip files , and this can make critical applications run
smoothly and safety 

4 - Added the principal utilizations of the OCX in the sample
application , and now you can see what arguments you need to use to
fit your needs , and a small list of the arguments available in the
sample are: 

4.1 - Compression options
Fix damaged Zip file
Force the fix of damaged Zip file
Include system and Hidden files
Compress with best compression
Compress with fastest compression
Store files - dont compress
Delete files in Zip
Compress folders and subfolders

4.2 Decompression options
Test Zip integrity - verify files in Zip
Decompress files and junk patnames - and always overwrite if existing
Decompress files and always overwrite

5 - Ability to get the information about the Zip file and list the
files in the Zip file , and verify also the CRC32 of any entry in the
Zip file , and any other relevant information about the Zip file

6 - Fixed the progressbar position , and now the value of the progress
dont return to the beginning after 90 percent , but at this moment we
are unable to reflect the perfect position of the compression or the
decompression , but we are working to retrieve the position so close
to the real position as possible

7 - Added the system errorcode event , this will report errors
generateds outside the control , and with the description of the error
also

8 - fixed the errocode event , and added the description of the error

9 - Added the possibility to add a especific long filename file like
this:
'My file to be compress.txt'
both versions 2.1 or 2.2 can insert specific files if these files are
in the DOS 8.3 format but they are unable to add a especific long
filename file unless you insert a wildcard , with the wildcard any
file in the folder will be added ,  but you cannot select which file
will be added if this is a longfilename file , this was fixed in the
3.0.0 version



What is expected to the next beta version :

1 - Ability to access a new OCX developed by us with the ability to
format , check , verify , and mark bad clusters in removable disk (
BinaryWork Disk Format OCX 1.0 ) , and split large Zip files in
multiples diskettes , and recreate it also



BinaryWork Corp.

